import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import axios from 'axios'
import '@/assets/style/base.sass'
// import Mock from 'mockjs'

Vue.use(ElementUI);
Vue.config.productionTip = false
axios.defaults.baseURL = '/api'
Vue.prototype.axios = axios

Vue.directive('p',{
  inserted(el,binding) {
    const {value} = binding;
    const pass = value.some(i => store.getters.permissions.includes(i))
    if(!pass) el.parentNode.removeChild(el);
  }
})
Vue.mixin({
  methods: {
    p(arr) {
      return arr.some(i => store.getters.permissions.includes(i));
    }
  }
})


// 添加响应拦截器
// axios.interceptors.response.use(function ({data}) {
//   // 对响应数据做点什么
//   Mock.mock('/api/who','get',() => {
//     return {
//       errcode: 0,
//       errmsg:'ok',
//       data: {
//         id: 1,
//         username:'administrator',
//         avatar:'http://datong0.com/i/boy.png',
//         permissions: [
//           'admin.user.read',
//           'admin.user.create',
//           'admin.user.update',
//           'admin.user.delete',
//           'admin.user.password',
//           // 'admin.role.read',
//           // 'admin.role.create',
//           // 'admin.role.update',
//           // 'admin.role.delete',
//           // 'admin.role.permission',
//           'admin.product.read',
//           'admin.product.create',
//           'admin.product.update',
//           'admin.product.delete',
//           'shop.category.read',
//           'shop.category.create',
//           'shop.category.update',
//           'shop.category.delete',
//           'shop.category.order',
//         ]
//       }
//     }
//   })
//   return data
// }, function (error) {
//   // 对响应错误做点什么
//   return Promise.reject(error);
// });

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
